home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
- * *
- * Big Blit Bob Size 48*80 16 Cols Big Or What *
- * *
- * Start Date : 4/3/91 *
- * Last Update : 4/3/91 *
- * Code : Melt Down *
- * *
- *****************************************************************************
-
- ; Include the macros
-
- Incdir Df1:
- Include Source/Macro
-
- *****************************************************************************
-
- ; Dont forget to use chip ram
-
- Chip
-
- *****************************************************************************
-
- ; Kill the operating system for good mesure
-
- Kill
-
- *****************************************************************************
-
- ; Load custom and set up copper list
-
- Lea Custom,A5
- Move.l #Copper,Cop1lch(a5)
-
- *****************************************************************************
-
- ; Clear Some Memory
-
- Blitwait
- Move.l #$70000,Bltdpth(a5)
- Move.l #0,Bltafwm(a5)
- Move.w #0,Bltdmod(a5)
- Move.l #$01000000,Bltcon0(a5)
- Move.w #512*64+40,Bltsize(a5)
-
- *****************************************************************************
-
- ; Main routine here
-
- Mouse
- Move.l $dff004,d2
- And.l #$1ff00,d2
- Cmp.l #$100,d2
- Bne.s Mouse
- Eor.w #$7e00,ScreenPtr+2
- Eor.w #$7e00,Cop1l+2
- Eor.w #$7e00,Cop2l+2
- Eor.w #$7e00,Cop3l+2
- Eor.w #$7e00,Cop4l+2
- Bsr Clear
- Bsr DoBobs
- Bsr DoCop
- Bsr UpDate
- Tstmice Mouse ; Pressed the mouse
-
- *****************************************************************************
-
- ; Return operating system and go back to user
-
- Heal
- Clr.l D0 ; No error
- Rts
-
- *****************************************************************************
-
- Clear
- Blitwait ; Blitter Nasty But Why Do
- Move.l #$01000000,Bltcon0(a5) ; Clear
- Move.w #$0000,Bltdmod(a5) ; Skip No Bytes
- Move.l ScreenPtr,A1
- Move.l a1,Bltdpth(A5) ; Set Dest
- Move.l #-1,Bltafwm(a5) ; Use All Bits
- Move.w #200*64+40,Bltsize(a5) ; Fill Half Screen
- Movem.l a0-a6/d0-d7,-(a7) ; Save The Regs
- Movem.l RegFiller(pc),a1-a6/d0-d7 ; Clear The Regs
- Move.l ScreenPtr,A0
- Add.l #32000,A0
-
- ; 16000/56 = 285.14 Rnd Up = 286
- Rept 286 ; Rept it 58 times
- Movem.l a1-a6/d0-d7,-(a0) ; Clear 56 Butes
- Endr ; End repeat
- Movem.l (a7)+,a0-a6/d0-d7 ; Restor Regs
- Rts
- RegFiller
- Dcb.l 16,0
- Rts
-
- *****************************************************************************
-
- DoBobs
- Blitwait
- Move.w #32,Bltdmod(a5)
- Move.w #32,Bltcmod(a5)
- Move.w #-2,Bltamod(a5)
- Move.w #-2,Bltbmod(a5)
- Move.l #$ffff0000,Bltafwm(a5)
- Move.l #BobsMsk,Bltapth(a5)
- Move.l #Bobs,Bltbpth(a5)
- Move.w #320*64+4,d6
- Lea BobForm1+4,A0
- Lea Shifts,A1
- Lea Xsin,A2
- Lea Bltcon0(a5),A3
- Lea Bltcpth(a5),A4
- Lea Bltsize(a5),A6
- Lea Bltdpth(a5),a5
- Move.l ScreenPtr,d7
- Move.l #$200,d2
- Rept 5
- Move.l d7,d1
- Move.w (a0)+,D0 ; X
- Move.w (a2,d0),d0
- Add.w (a1,d0),d1
- Move.l 2(a1,d0),(A3)
- Move.w (a0)+,D0 ; Y
- Add.w D2,D0
- Add.w (A2,d0),d1 ; Add y
- Move.l d1,(a4)
- Move.l d1,(a5)
- Move.w d6,(a6)
- Endr
- Lea Custom,a5
- Rts
-
- StShift Macro
- Dc.w \1,$0fca,$0000
- Dc.w \1,$1fca,$1000
- Dc.w \1,$2fca,$2000
- Dc.w \1,$3fca,$3000
- Dc.w \1,$4fca,$4000
- Dc.w \1,$5fca,$5000
- Dc.w \1,$6fca,$6000
- Dc.w \1,$7fca,$7000
- Dc.w \1,$8fca,$8000
- Dc.w \1,$9fca,$9000
- Dc.w \1,$afca,$a000
- Dc.w \1,$bfca,$b000
- Dc.w \1,$cfca,$c000
- Dc.w \1,$dfca,$d000
- Dc.w \1,$efca,$e000
- Dc.w \1,$ffca,$f000
- Endm
- Shifts
- StShift 0
- StShift 2
- StShift 4
- StShift 6
- StShift 8
- StShift 10
- StShift 12
- StShift 14
- StShift 16
- StShift 18
- StShift 20
- StShift 22
- StShift 24
- StShift 26
- StShift 28
- StShift 30
- StShift 32
- StShift 34
- StShift 36
- StShift 38
- StShift 40
-
- *****************************************************************************
-
- DoCop
- Lea custom,a5
- Blitwait
- Move.l #Col1,Bltapth(a5)
- Move.l #$09f00000,Bltcon0(a5)
- Move.l #-1,Bltafwm(A5)
- Move.w #0,Bltamod(A5)
- Move.w #42,Bltdmod(A5)
- Move.w #72*64+1,D3
- Move.l #CopStart+6+(6*44),A2
- Lea BobForm1+4,a0
- Lea YCopSin,a1
- Move.l #4,D1
-
- Rept 5
- Move.w 2(A0),d0
- Move.w (a1,d0),d0
- Add.w d0,a2
- Move.l A2,Bltdpth(a5)
- Move.w d3,Bltsize(a5)
- Sub.w d0,a2
- Add.w D1,A2
-
- Move.w 2(A0),d0
- Move.w (a1,d0),d0
- Add.w d0,a2
- Move.l A2,Bltdpth(a5)
- Move.w d3,Bltsize(a5)
- Sub.w d0,a2
- Add.w D1,A2
-
- Add.w D1,A0
- Endr
-
- Rts
-
- *****************************************************************************
-
- ; Up Date Shit
-
- UpDate
- Lea BobForm1,A0
- Move.l (a0)+,d7
- Move.l #$01fe01fe,D6
- Rept 5
- Add.l d7,(a0)
- And.l d6,(a0)+
- Endr
- Rts
-
- *****************************************************************************
-
- ; All copper list after here
-
- Copper
-
- Spr_Off ; Switch sprites off
- Cmove $2c81,Diwstrt
- Cmove $2cc1,Diwstop
- Cmove $0038,Ddfstrt
- Cmove $00d0,Ddfstop
- Cmove $0078,Bpl1mod
- Cmove $0078,Bpl2mod
- dc.w $0180,$0000,$0182,$0fff,$0184,$0ddd,$0186,$0ccc
- dc.w $0188,$0bbb,$018a,$0999,$018c,$0888,$018e,$0666
- dc.w $0190,$0555,$0192,$0333,$0194,$0222,$0196,$0540
- dc.w $0198,$0750,$019a,$0960,$019c,$0b70,$019e,$0d90
- Cmove $0007,Bpl1pth
- Cop1l
- Cmove $0000,Bpl1ptl
- Cmove $0007,Bpl2pth
- Cop2l
- Cmove $0028,Bpl2ptl
- Cmove $0007,Bpl3pth
- Cop3l
- Cmove $0050,Bpl3ptl
- Cmove $0007,Bpl4pth
- Cop4l
- Cmove $0078,Bpl4ptl
- Cmove $4200,Bplcon0
- Cwait 40,0
- Cmove $000f,Color00
- Cwait 41,0
- Cmove $0000,Color00
- A Set 42
- CopStart
- Rept 203
- Cwait a,0
- Cmove $000,Color01
- Cmove $000,Color02
-
- Cmove $000,Color03
- Cmove $000,Color04
-
- Cmove $000,Color05
- Cmove $000,Color06
-
- Cmove $000,Color07
- Cmove $000,Color08
-
- Cmove $000,Color09
- Cmove $000,Color10
- A Set a+1
- Endr
-
- Cwait 245,0
- Cmove $0200,Bplcon0
- Cmove $000f,Color00
- Cwait 246,0
- Cmove $0000,Color00
- Endcop
-
- *****************************************************************************
-
- ScreenPtr
- dc.l $70000
-
- *****************************************************************************
-
- Col1
- SetCol Macro
- Dc.w $0000&\1,$0000&\1,$0111&\1,$0111&\1,$0222&\1,$0222&\1,$0333&\1,$0333&\1
- Dc.w $0444&\1,$0444&\1,$0555&\1,$0555&\1,$0666&\1,$0666&\1,$0777&\1,$0777&\1
- Dc.w $0888&\1,$0888&\1,$0999&\1,$0999&\1,$0aaa&\1,$0aaa&\1,$0bbb&\1,$0bbb&\1
- Dc.w $0ccc&\1,$0ccc&\1,$0ddd&\1,$0ddd&\1,$0eee&\1,$0eee&\1,$0fff&\1,$0fff&\1
- Dc.w $0fff&\1,$0fff&\1,$0fff&\1,$0fff&\1,$0fff&\1,$0fff&\1,$0fff&\1,$0fff&\1
- Dc.w $0fff&\1,$0fff&\1,$0eee&\1,$0eee&\1,$0ddd&\1,$0ddd&\1,$0ccc&\1,$0ccc&\1
- Dc.w $0bbb&\1,$0bbb&\1,$0aaa&\1,$0aaa&\1,$0999&\1,$0999&\1,$0888&\1,$0888&\1
- Dc.w $0777&\1,$0777&\1,$0666&\1,$0666&\1,$0555&\1,$0555&\1,$0444&\1,$0444&\1
- Dc.w $0333&\1,$0333&\1,$0222&\1,$0222&\1,$0111&\1,$0111&\1,$0000&\1,$0000&\1
- Endm
- SetCol $fff
- SetCol $f00
-
- SetCol $fff
- SetCol $0f0
-
- SetCol $fff
- SetCol $00f
-
- SetCol $fff
- SetCol $f0f
-
- SetCol $fff
- SetCol $0ff
-
- *****************************************************************************
-
- BobForm1
- Dc.w 2,2 ; Xupdate, Yupdate
- Dc.w 000,250 ; X,Y
- Dc.w 050,200 ; X,Y
- Dc.w 100,150 ; X,Y
- Dc.w 150,100 ; X,Y
- Dc.w 200,050 ; X,Y
-
- *****************************************************************************
-
- XSin
- dc.w 270*6,270*6,270*6,270*6,269*6,269*6,269*6,268*6
- dc.w 267*6,267*6,266*6,265*6,264*6,263*6,262*6,261*6
- dc.w 260*6,258*6,257*6,256*6,254*6,252*6,251*6,249*6
- dc.w 247*6,245*6,243*6,241*6,239*6,237*6,235*6,233*6
- dc.w 230*6,228*6,226*6,223*6,221*6,218*6,215*6,213*6
- dc.w 210*6,207*6,204*6,202*6,199*6,196*6,193*6,190*6
- dc.w 187*6,184*6,180*6,177*6,174*6,171*6,168*6,165*6
- dc.w 161*6,158*6,155*6,152*6,148*6,145*6,142*6,138*6
- dc.w 135*6,132*6,128*6,125*6,122*6,118*6,115*6,112*6
- dc.w 109*6,105*6,102*6,99*6,96*6,93*6,90*6,86*6
- dc.w 83*6,80*6,77*6,74*6,71*6,68*6,66*6,63*6
- dc.w 60*6,57*6,55*6,52*6,49*6,47*6,44*6,42*6
- dc.w 40*6,37*6,35*6,33*6,31*6,29*6,27*6,25*6
- dc.w 23*6,21*6,19*6,18*6,16*6,14*6,13*6,12*6
- dc.w 10*6,9*6,8*6,7*6,6*6,5*6,4*6,3*6
- dc.w 3*6,2*6,1*6,1*6,1*6,0*6,0*6,0*6
- dc.w 0*6,0*6,0*6,0*6,1*6,1*6,1*6,2*6
- dc.w 3*6,3*6,4*6,5*6,6*6,7*6,8*6,9*6
- dc.w 10*6,12*6,13*6,14*6,16*6,18*6,19*6,21*6
- dc.w 23*6,25*6,27*6,29*6,31*6,33*6,35*6,37*6
- dc.w 40*6,42*6,44*6,47*6,49*6,52*6,55*6,57*6
- dc.w 60*6,63*6,66*6,68*6,71*6,74*6,77*6,80*6
- dc.w 83*6,86*6,90*6,93*6,96*6,99*6,102*6,105*6
- dc.w 109*6,112*6,115*6,118*6,122*6,125*6,128*6,132*6
- dc.w 135*6,138*6,142*6,145*6,148*6,152*6,155*6,158*6
- dc.w 161*6,165*6,168*6,171*6,174*6,177*6,180*6,184*6
- dc.w 187*6,190*6,193*6,196*6,199*6,202*6,204*6,207*6
- dc.w 210*6,213*6,215*6,218*6,221*6,223*6,226*6,228*6
- dc.w 230*6,233*6,235*6,237*6,239*6,241*6,243*6,245*6
- dc.w 247*6,249*6,251*6,252*6,254*6,256*6,257*6,258*6
- dc.w 260*6,261*6,262*6,263*6,264*6,265*6,266*6,267*6
- dc.w 267*6,268*6,269*6,269*6,269*6,270*6,270*6,270*6
- YSin
- dc.w 120*160,120*160,120*160,120*160,120*160,120*160,119*160,119*160
- dc.w 119*160,119*160,118*160,118*160,117*160,117*160,116*160,116*160
- dc.w 115*160,115*160,114*160,114*160,113*160,112*160,111*160,111*160
- dc.w 110*160,109*160,108*160,107*160,106*160,105*160,104*160,103*160
- dc.w 102*160,101*160,100*160,99*160,98*160,97*160,96*160,95*160
- dc.w 93*160,92*160,91*160,90*160,88*160,87*160,86*160,84*160
- dc.w 83*160,82*160,80*160,79*160,77*160,76*160,75*160,73*160
- dc.w 72*160,70*160,69*160,67*160,66*160,64*160,63*160,61*160
- dc.w 60*160,59*160,57*160,56*160,54*160,53*160,51*160,50*160
- dc.w 48*160,47*160,45*160,44*160,43*160,41*160,40*160,38*160
- dc.w 37*160,36*160,34*160,33*160,32*160,30*160,29*160,28*160
- dc.w 27*160,25*160,24*160,23*160,22*160,21*160,20*160,19*160
- dc.w 18*160,17*160,16*160,15*160,14*160,13*160,12*160,11*160
- dc.w 10*160,9*160,9*160,8*160,7*160,6*160,6*160,5*160
- dc.w 5*160,4*160,4*160,3*160,3*160,2*160,2*160,1*160
- dc.w 1*160,1*160,1*160,0*160,0*160,0*160,0*160,0*160
- dc.w 0*160,0*160,0*160,0*160,0*160,0*160,1*160,1*160
- dc.w 1*160,1*160,2*160,2*160,3*160,3*160,4*160,4*160
- dc.w 5*160,5*160,6*160,6*160,7*160,8*160,9*160,9*160
- dc.w 10*160,11*160,12*160,13*160,14*160,15*160,16*160,17*160
- dc.w 18*160,19*160,20*160,21*160,22*160,23*160,24*160,25*160
- dc.w 27*160,28*160,29*160,30*160,32*160,33*160,34*160,36*160
- dc.w 37*160,38*160,40*160,41*160,43*160,44*160,45*160,47*160
- dc.w 48*160,50*160,51*160,53*160,54*160,56*160,57*160,59*160
- dc.w 60*160,61*160,63*160,64*160,66*160,67*160,69*160,70*160
- dc.w 72*160,73*160,75*160,76*160,77*160,79*160,80*160,82*160
- dc.w 83*160,84*160,86*160,87*160,88*160,90*160,91*160,92*160
- dc.w 93*160,95*160,96*160,97*160,98*160,99*160,100*160,101*160
- dc.w 102*160,103*160,104*160,105*160,106*160,107*160,108*160,109*160
- dc.w 110*160,111*160,111*160,112*160,113*160,114*160,114*160,115*160
- dc.w 115*160,116*160,116*160,117*160,117*160,118*160,118*160,119*160
- dc.w 119*160,119*160,119*160,120*160,120*160,120*160,120*160,120*160
- YCopSin
- dc.w 120*44,120*44,120*44,120*44,120*44,120*44,119*44,119*44
- dc.w 119*44,119*44,118*44,118*44,117*44,117*44,116*44,116*44
- dc.w 115*44,115*44,114*44,114*44,113*44,112*44,111*44,111*44
- dc.w 110*44,109*44,108*44,107*44,106*44,105*44,104*44,103*44
- dc.w 102*44,101*44,100*44,99*44,98*44,97*44,96*44,95*44
- dc.w 93*44,92*44,91*44,90*44,88*44,87*44,86*44,84*44
- dc.w 83*44,82*44,80*44,79*44,77*44,76*44,75*44,73*44
- dc.w 72*44,70*44,69*44,67*44,66*44,64*44,63*44,61*44
- dc.w 60*44,59*44,57*44,56*44,54*44,53*44,51*44,50*44
- dc.w 48*44,47*44,45*44,44*44,43*44,41*44,40*44,38*44
- dc.w 37*44,36*44,34*44,33*44,32*44,30*44,29*44,28*44
- dc.w 27*44,25*44,24*44,23*44,22*44,21*44,20*44,19*44
- dc.w 18*44,17*44,16*44,15*44,14*44,13*44,12*44,11*44
- dc.w 10*44,9*44,9*44,8*44,7*44,6*44,6*44,5*44
- dc.w 5*44,4*44,4*44,3*44,3*44,2*44,2*44,1*44
- dc.w 1*44,1*44,1*44,0*44,0*44,0*44,0*44,0*44
- dc.w 0*44,0*44,0*44,0*44,0*44,0*44,1*44,1*44
- dc.w 1*44,1*44,2*44,2*44,3*44,3*44,4*44,4*44
- dc.w 5*44,5*44,6*44,6*44,7*44,8*44,9*44,9*44
- dc.w 10*44,11*44,12*44,13*44,14*44,15*44,16*44,17*44
- dc.w 18*44,19*44,20*44,21*44,22*44,23*44,24*44,25*44
- dc.w 27*44,28*44,29*44,30*44,32*44,33*44,34*44,36*44
- dc.w 37*44,38*44,40*44,41*44,43*44,44*44,45*44,47*44
- dc.w 48*44,50*44,51*44,53*44,54*44,56*44,57*44,59*44
- dc.w 60*44,61*44,63*44,64*44,66*44,67*44,69*44,70*44
- dc.w 72*44,73*44,75*44,76*44,77*44,79*44,80*44,82*44
- dc.w 83*44,84*44,86*44,87*44,88*44,90*44,91*44,92*44
- dc.w 93*44,95*44,96*44,97*44,98*44,99*44,100*44,101*44
- dc.w 102*44,103*44,104*44,105*44,106*44,107*44,108*44,109*44
- dc.w 110*44,111*44,111*44,112*44,113*44,114*44,114*44,115*44
- dc.w 115*44,116*44,116*44,117*44,117*44,118*44,118*44,119*44
- dc.w 119*44,119*44,119*44,120*44,120*44,120*44,120*44,120*44
-
- *****************************************************************************
-
- Bobs
- Incbin Gfx/BigBobs.Bm
- BobsMsk
- Incbin Gfx/BigBobsMsk.Bm
-
- *****************************************************************************
-
-